JS - 傳遞呼叫該函數的物件的方法

牽涉到原生JavaScript中this的用法。
作為JavaScript語言核心的this的介紹還是看別的地方的,這裡只記錄了用法。

1
2
3
4
5
6
7
<select name="school_province" onChange="searchSchool(this)">...</select>

<script language="javascript">
function searchSchool(theProvinceSelect) {
console.log(theProvinceSelect.value);
}
</script>

this是呼叫searchSchool函數的物件,theProvinceSelect則是在函數中代表該物件的參數
切記,theProvinceSelect不可以用this替代,如果在函數中也使用this,這個this代表的是window物件!!

如果只需要value值,可以直接這樣寫:

1
<select name="school_province" onChange="searchSchoo(this.value)">...</select>

那傳過去searchSchool函數的參數就會是value值